<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<main>
    <p class="oo" id="p">
        123
    </p>
    <p class="oo">
        222
    </p>
</main>
</body>
<script>
    //function递归函数定义的的参数顺序在接下来的使用中，也要遵循他的顺序
    /*n   m   res
    * n-1(需要叠加几次)
    *  m上一次的值，就是上一轮res的值
    *    res当前的值，上一轮的m等于res上上轮的值，res等于m+上一轮的res
    * if（n==0）判断n到零是叠加到了多少返回res的值就是最后一次res等于多少，
    * 在else中每叠加一次返回一个数组一个的值，最后n==0时，再返回一次，显示全部的值
    * 递归还是表示让我们写一个数值，还有把规律给他，然后他帮我们计算
    * */
    let  num=[];
    function  arr(n,m,res) {
        if(n==1){
            num.push(res);
            return res
        }
        else {
            num.push(res);
            //就是定义一个算术规则，等于说告诉计算机一加一等于二的规格之后，让他叠加加多少次一，最后返回一个结果给我们
            return arr(n-1,res,res+m);

        }
    }
    console.log(arr(100,0,1));
    console.log(num);

    //document对象用来表示整个文档
    /*
    * html ->body ->main -> p ->123
    * */
    //获取节点：1.先设置一个变量去接收
    // 2.（document）文档树点文档（querySelector）
    // 3.然后去获取p标签的节点
    //要获取标签节点就把标签写进去
    let arr = document.querySelector('p');//所有类名是p的，其中第一个
    //通过标签名去获取元素节点,返回的是一个数组，节点集合，
    // 获取页面上所有标签是p的，并用数组的排列顺序排列
    arr1 = document.getElementsByTagName('p');//返回集合
    //通过类名（class）是获取元素节点,获取时不需要点，直接取类名
    //通过类名取获取的，能获取页面上全部含有这个类名的标签
    //返回的也是一个数组，并也用数组的排列顺序
    num = document.getElementsByClassName('oo');//返回一个集合
    //通过元素id获取节点
    //获取节点时也不需要也#号
    num1 =document.getElementById('p');//id是唯一值没办法

    num3 = document.querySelectorAll('p');//返回所有类名为p的，一个集合

    //querySelector和querySelectorAll的区别
    //querySelector  返回的是所有符合条件的元素节点集合的第一个
    //querySelectorAll 返回的是所有符合条件的元素节点集合

    //querySelector里面可以是 /标签名/. 类名/# ID

    console.log(arr);
    console.log(arr1);
    console.log(num);
    console.log(num1);
    console.log(num3)
</script>
</html>